//
// Created by yangchao on 2022/5/11.
// 66. 加一: https://leetcode.cn/problems/plus-one/
//

#include <vector>
using namespace std;

class PlusOne{
public:
    vector<int> plusOne(vector<int>& digits) {
        bool sign = false;
        int len = digits.size();
        for (int i = len-1; i >=0 ; --i) {
            if (i == len-1) {
                digits[i] += 1;
                if (digits[i] == 10) {
                    digits[i] = 0;
                    sign = true;
                }
            } else {
                if (sign) {
                    digits[i] += 1;
                    if (digits[i] == 10) {
                        digits[i] = 0;
                        sign = true;
                    } else {
                        sign = false;
                    }
                }
            }
        }
        if (sign) digits.insert(digits.begin(),1);
        return digits;
    }
};

